package game;

import graphic.Assets;
import graphic.drawables.Sprite;

/**
 * Generica rappresentazione di tutto cio' che e' interattivo e renderizzabile in 2D.
 * @author Jan
 *
 */
public abstract class Entity2D extends Entity{
	
	private int collisionRay;
	private Sprite sprite;
	
	/**
	 * Entita' 2D.
	 * @see Entity
	 * @param entityID 
	 * @param coordinate coordinate iniziali dell'entita'
	 * @param shiftAmount coefficiante di spostamento per ogni iterazione
	 */
	public Entity2D(int entityID, Coordinate coordinate, int shiftAmount) {
		super(entityID, coordinate, shiftAmount);
		sprite = Assets.getsLoader().getSprite(Assets.SPRITE_DEFAULT);
		this.collisionRay = sprite.getWidth()/2;
	}
	
	public boolean useSheet(){
		return false;
	}
	

	/**
	 * Impostazione dello sprite da associare all'entita' in fase di rendering.
	 * @param sprite sprite da assegnare
	 */
	public void setSprite(Sprite sprite) {
		this.sprite = sprite;
	}
	
	/**
	 * Ritorna il raggio di collisione.
	 * @return raggio di collisione
	 */
	public int getCollisionRay() {
		return collisionRay;
	}
	
	/**
	 * Restituisce lo sprite assegnato.
	 * @return
	 */
	public Sprite getSprite() {
		return sprite;
	}

	
}
